import numpy as np
import math

"""
两条向量之间的夹角可以通过向量的点积和模长计算得出。假设有两个向量𝐴和𝐵，夹角θ可以通过以下公式计算:

θ = arccos((𝐀·𝐁) / (‖𝐀‖ ‖𝐁‖))
即：cosθ = (𝐀·𝐁) / (‖𝐀‖ ‖𝐁‖)
其中:

dot(𝐀, 𝐁)表示向量𝐀和向量𝐁的点积。
‖𝐀‖表示向量𝐀的模长（向量的长度）。
arccos表示反余弦函数，返回夹角的弧度值。
请注意，公式中的点积需要对应元素相乘后求和，而不是简单的乘积。

在Python中，可以使用NumPy库计算向量的点积和模长，然后使用math库计算反余弦函数
"""
if __name__ == '__main__':
    # 向量 A 和 B
    A = np.array([1, 2, 3])
    B = np.array([4, 5, 6])

    # 计算点积和模长
    dot_product = np.dot(A, B)
    norm_A = np.linalg.norm(A)
    norm_B = np.linalg.norm(B)

    # 计算夹角
    angle_rad = math.acos(dot_product / (norm_A * norm_B))

    # 将弧度转换为度数
    angle_deg = math.degrees(angle_rad)

    print("夹角的度数:", angle_deg)
